The React library lets us define the entire UI of our app as a tree of JavaScript objects. These JavaScript objects are called **React elements**. React provides the utilities for creating and manipulating this tree.

We then leverage a library with platform-specific bindings, e.g. React DOM for the web, to **render** our tree of React elements on the screen using native UI elements (i.e. DOM elements). Whenever the tree of elements changes, React DOM updates the native UI elements to match.
